Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可) 您所在的位置:网站首页 怎么使用Linux服务器发送邮件到QQ163邮箱 Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)

Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)

2023-12-17 15:24| 来源: 网络整理| 查看: 265

laravel自带SMTP邮件配置和遇到的坑

laravel自带SwiftMailer库,集成了多种邮件API,可以很方便的实现邮件的发送。在本教程中使用到的是SMTP(Simple Message Transfer Protocol)简单邮件传输协议,通常理解为邮件发送服务器。

以QQ邮箱为例

使用QQ邮箱的话,需要开启POP3和SMTP服务(QQ邮箱登录=》选择设置=》账户=》下拉找到图2)。 使用企业邮箱不用开启SMTP,因为企业邮箱自带,如果配置有问题去查一下是否关闭安全登录(企业邮箱) 开启方式如下: 这里写图片描述 这里写图片描述 当开启成功会生成密钥,这个东西会在配置中用: 这里写图片描述

配置laravel .env文件 MAIL_DRIVER=smtp MAIL_HOST=smtp.qq.com MAIL_PORT=465 MAIL_USERNAME=********@qq.com MAIL_PASSWORD=qq邮箱此处填写上图产生的授权码 MAIL_FROM_NAME=邮箱的名称 MAIL_ENCRYPTION=ssl 配置laravel config/mail.php文件

这文件是laravel自带的文件,如果没有需求,内容可不动

return [ 'driver' => env('MAIL_DRIVER', 'smtp'), 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'from' => [ 'address' => env("MAIL_USERNAME", ""), 'name' => env("MAIL_FROM_NAME") ], 'encryption' => env('MAIL_ENCRYPTION'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'sendmail' => '/usr/sbin/sendmail -bs', 'pretend' => env('MAIL_PRETEND', false), ]; driver:用于配置默认的邮件发送驱动,Laravel支持多种邮件驱动方式,包括smtp、Mailgun、Maildrill、Amazon SES、mail和sendmail,Mailgun和Amazon SES都是收费的Maildrill目前不支持中国区用户,这三个都是第三方邮件服务。mail驱动使用PHP提供的mail函数发送,sendmail驱动通过Sendmail/Postfix(Linux)提供的命令发送邮件,smtp驱动通过支持ESMTP的SMTP发送邮件。就目前状况来看,使用smtp是最明智的选择,mail不安全,sendmail需要安装配置Sendmail/Postfix,其他要么付费要么不能用。host:邮箱所在主机,使用163邮箱,对应值是smtp.163.com,使用QQ邮箱,对应值是smtp.qq.com。使用腾讯企业邮箱,对应值是smtp.exmail.qq.comport:用于配置邮箱发送服务端口号,一般默认值是25,但如果设置SMTP使用SSL加密,该值为465。from:配置项包含address和name,前者表示你自己的邮箱,后者表示你邮件用户名(这里邮箱,是用来发邮件的邮箱)。encryption:表示加密类型,可以设置为null表示不使用任何加密,也可以设置为tls或ssl。username: 表示邮箱账号,比如[email protected] password 表示上述邮箱登录对应登录密码。注意QQ邮箱的话应该开启POP3|SMTP服务时给的授权码。sendmail: 是在设置driver为sendmail时使用,用于指定sendmail命令路径。pretend: 用于配置是否将邮件发送记录到日志中,默认为false则发送邮件不记录日志,如果为true的话只记录日志不发送邮件,这一配置在本地开发中调试时很有用 开始代码之旅 生成控制器 php artisan make::controller MailController 配置路由 Route::any('mail/send','MailController@send'); 在app/Http/Controllers生成了一个MailController控制器,如下所示:


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有